package com.zhangtai.modules.dto;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class RegularDto {
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long oid;

    /**
     * 姓名
     */
    @ApiModelProperty(value="姓名",required = false)
    private String name;


    /**
     * 拟录用部门
     */
    @ApiModelProperty(value="拟录用部门",required = false)
    private String unitname;
    /**
     * 部门id
     */
    @ApiModelProperty(value="部门id",required = false)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long unitId;

    /**
     * * 拟录用公司
     */
    @ApiModelProperty(value="拟录用公司",required = false)
    private String orgname;
    /**
     * 公司id
     */
    @ApiModelProperty(value="公司id",required = false)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long orgId;

    /**
     * 拟录用岗位
     */
    @ApiModelProperty(value="拟录用岗位",required = false)
    private String jobname;
    /**
     * 职位id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    @ApiModelProperty(value="职位id",required = false)
    private Long jobId;

    /**
     * 职级id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    @ApiModelProperty(value="职级id",required = false)
    private Long jobLevelId;
    /**
     * 职级
     */
    @ApiModelProperty(value="职级",required = false)
    private String jobLevel;

    /**
     * 是否转正0:未转正，1：转正 ，2：延期转正 3：不予转正，4：提前转正
     */
    @ApiModelProperty(value="是否转正0:未转正，1：转正 ，2：延期转正 3：不予转正，4：提前转正",required = false)
    private Integer isRegular;

    /**
     * 0:转正 未处理，1：已处理
     */
    @ApiModelProperty(value="0:转正 未处理，1：已处理",required = false)
    private Integer regularIsDone;

    /**
     * 备注
     */
    @ApiModelProperty(value="备注",required = false)
    private String remark;

    /**
     * 转正日期
     */
    @ApiModelProperty(value="预计转正日期",required = false)
    private Date regularDay;

    /**
     * 处理状态 0、SSC处理中 1、评分审核中 2、薪酬核定中 3、员工发起中 4、BPM审批中 5、已办结
     */
    @ApiModelProperty(value="处理状态 0、SSC处理中 1、评分审核中 2、薪酬核定中 3、员工发起中 4、BPM审批中 5、已办结",required = false)
    private Integer dealStatus;

    /**
     * 薪资备注
     */
    @ApiModelProperty(value="薪资备注",required = false)
    private String salaryRemark;

    /**
     * 固定月薪
     */
    @ApiModelProperty(value="固定月薪",required = false)
    private BigDecimal monthlySalary;
    /**
     * 模块绩效
     */
    @ApiModelProperty(value="模块绩效",required = false)
    private BigDecimal performance;

    @ApiModelProperty(value="员工账号",required = false)
    private String useraccount;

    @ApiModelProperty(value = "转正bpm查看链接")
    private String regularCheckUrl;

    @ApiModelProperty(value = "0:待发起 ，1：已发起待审批，2：审批完成，3：作废,")
    private Integer regularBpmStatus;

    @ApiModelProperty(value="转正备注")
    private String regularRemark;

    /**
     * 预计入职时间
     */
    private Date hiredate;

    @ApiModelProperty(value = "转正提醒 0：未提醒 1：已提醒")
    private Integer isRegularRemind;

    private String code;

}
